package nettyTest.netty3Test.snoop;

import io.netty.channel.ChannelInitializer;
import io.netty.channel.ChannelPipeline;
import io.netty.channel.socket.SocketChannel;
import io.netty.handler.codec.http.HttpClientCodec;
import io.netty.handler.codec.http.HttpContentDecompressor;
import io.netty.handler.ssl.SslContext;

public class HttpSnoopClientInitializer  extends ChannelInitializer<SocketChannel> {
	 private final SslContext sslCtx;
	   
	       public HttpSnoopClientInitializer(SslContext sslCtx) {
	           this.sslCtx = sslCtx;
	       }
	   
	       @Override
	       public void initChannel(SocketChannel ch) {
	           ChannelPipeline p = ch.pipeline();
	   
	           // Enable HTTPS if necessary.
	           if (sslCtx != null) {
	               p.addLast(sslCtx.newHandler(ch.alloc()));
	           }
	   
	           p.addLast(new HttpClientCodec());
	   
	           // Remove the following line if you don't want automatic content decompression.
	           p.addLast(new HttpContentDecompressor());
	   
	           // Uncomment the following line if you don't want to handle HttpContents.
	           //p.addLast(new HttpObjectAggregator(1048576));
	   
	           p.addLast(new HttpSnoopClientHandler());
	       }
}
